Communication systems in safety applications require high reliability. Error detection codes are often used to ensure that a probability Pue of an undetectable error is low. A cyclic redundancy check (CRC) is one common error detection code. Herein, the term CRC is used both for the code and functions that generate and verify the code.
FIG. 1 shows a conventional communication system 101 for a safety application 105. The safety application can be embedded in a transportation system, such as an elevator system, an aircraft, or any other system that requires high reliability.
A payload 110 is generated by the application 105. A transmitter 102 generates and appends the CRC to the payload in a packet. The packet 111 is encoded to an encoded packet 112. The encoded packet 112 is modulated into a modulated packet 113, which is transmitted through a noisy channel 104.
A receiver 103 receives the modulated received packet 123 and demodulated the received packet into a demodulated packet 122. The demodulated packet is decoded by an error correction decoder into a decoded packet 121. The decoded packet passes through the CRC verification. If the CRC is successful, a CRC flag 128 is set to 0, and the payload and the CRC flag is passed to the application 105. If an error is detected, the CRC flag is set to 1, and appropriate action is taken by the receiver, such as a request for retransmission. In this case, the application does not receive the erroneous payload.
The CRC cannot guarantee that the probability Pue is 0. For linear error detection code, an undetectable error can occurs when an error pattern in the payload is a valid codeword.
Although rare, an undetectable error is extremely harmful in safety applications, and can cause unsafe operation and catastrophic events. Therefore, it is extremely important to design the communication system, such that the probability Pue of undetectable errors is minimized.
Communication systems that provide high reliability and a low packet loss rate typically use redundant transmissions in time, frequency, spatial and/or code domains.
Conventionally, the receiver considers a packet delivery successful if at least one of the transmissions passes the CRC. A packet delivery fails ONLY if all the transmissions and retransmissions are unsuccessful.
Such mechanism may not meet the requirements needed for safety applications because of a high probability Pue.
Therefore, it is desired to minimize the probability Pue of undetectable errors in communication systems in safety applications.